Batch search system for providing batch search interfaces

ABSTRACT

Various methods and systems for providing batch search interfaces that support operations for dynamically generating batch search queries, executing batch search queries, and causing display of batch search query result items are provided. In operation, a batch search query interface for inputting images is generated. An image is received. A first feature and a second feature of the image are detected from the image. A first tag for the first feature and a second tag for the second feature are displayed on the batch search query interface. The tags refer to attributes associated with different features of the image. A batch search query based on the first and second tag is communicated to cause execution of the batch search query to generate search results. A first and second plurality of results associated with the respective tags are simultaneously displayed using feature-tag-specific results display portions of the batch search results interface.

BACKGROUND

Users often rely on search systems to help find information stored oncomputer systems. Such search systems support identifying, for a singlereceived search query, a single search query result from one or morestorage mediums having storage data structures or encoded data (e.g.,item databases and files). For example, a search query, having one ormore keywords, can be executed using a search system to find relevantsearch result items based on the one or more keywords of the searchquery. With the ever-increasing use of search systems for retrievingelectronically stored information, improvements in computing operationsfor search systems can provide more efficient processing of searchqueries and efficiency in user navigation of graphical user interfacesin search systems.

SUMMARY

Embodiments of the present invention relate to methods, systems andcomputer storage media for providing a batch search system having batchsearch interfaces that support operations for dynamically generatingbatch search queries, executing batch search queries, and causingdisplay of batch search query result items. By way of background,performing keyword searches can be challenging for users becauseconventional search systems primarily support executing search queriesfor a single search query (e.g., keyword or phrases) and lack graphicaluser interfaces that support batch searching for multiple searchqueries. For example, in order for a user to perform a search for two ormore items, such as a “computer keyboard” and a “water bottle,” the userwould have to enter each search query independently to cause a searchsystem to execute an independent search for each search query. Searchquery results items for each search query are also independentlyretrieved and independently caused to be displayed. Moreover, currentsearch system graphical user interfaces do not support combined visualdefining of individual search queries or combinations of search queriessimultaneously, such that the user may provide, through a single batchsearch query graphical user interface, refinements for multiple searchqueries at the same time. As such, an alternative approach for providingsearch query functionality in search systems would improve computingoperations and user interface navigation in search systems.

Embodiments described in the present disclosure are directed towardsimproving search systems based on providing a batch search system havingbatch search interfaces (e.g., batch search query interface and batchsearch results interface) that support operations for dynamicallygenerating batch search queries, executing batch search queries, andcausing display of batch search query result items. In particular, theuser may provide a media input (e.g., a media resource) as an input to abatch search interface. The batch search system provides batch searchquery interfaces for dynamically generating multiple batch searchqueries simultaneously. Dynamically generating a batch search queryincludes recognizing and tagging features identified in media input, andcontinuous and adaptive alteration of the individual search queriesbased on user selections through the batch search query interface suchthat each of a plurality search queries in the batch search query iscaused to be executed substantially in parallel as the batch searchquery.

The batch search system also provides batch search result interfacesthat include a simultaneous display of search result items for thesearch queries defined using the input image. The batch search systemexecutes the batch search query such that corresponding search resultitems are identified and caused to be displayed in feature-tag-specificresults display portions of the batch search results interface. Forexample, the batch search results interface includes a firstfeature-tag-specific results display portion with search result itemsfor the first feature and a second feature-tag-specific results displayportion with search result items for the second feature. In this regard,search result items for a media input are a combined set ofsimultaneously displayed search result items for search queries in abatch search query, where each of the search queries was simultaneouslydefined using the batch search interface.

In operation, a batch search query interface for inputting input imagesis generated. The batch search query interface includes a plurality ofgraphical control elements for dynamically generating batch searchqueries. An input image is received. The input image is associated witha plurality of features. A first feature and a second feature of theinput image are detected as batch search query features. A first tag forthe first feature and a second tag for the second feature are displayedon the batch search query interface, where tags are attributesassociated with features of the input image. A batch search query iscommunicated based on the first tag and the second tag.

A first plurality of results associated with the first tag and a secondplurality of results associated with the second tag are received. Thefirst plurality of results and the second plurality of results aresimultaneously displayed on a batch search results interface, with thefirst plurality of results and the second plurality of results displayedon feature-tag-specific results display portions of the batch searchresults interface. In embodiments, complementary results for the searchqueries in the batch search query are identified, and replacementresults for a damaged feature are also identified such that the batchsearch results interface include a feature-tag-specific complementaryresults portion for displaying complementary results based oncorresponding feature-tags and a feature-tag-specific replacementsdisplay portions for displaying replacement results based oncorresponding damaged feature-tags.

As such, the embodiments described herein provide computing operationsfor dynamically generating batch search queries, executing batch searchqueries, and causing display of batch search query result items, whichimproves on conventional operations that only support performing two ormore independent search queries. Advantageously, the batch search queryinterfaces and the batch search results interfaces improve efficiency inuser navigation of graphical user interfaces in search systems.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used in isolation as an aid in determining the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in detail below with reference to theattached drawing figures, wherein:

FIG. 1 is a block diagram of an exemplary batch search system, in whichembodiments described herein may be employed;

FIGS. 2A-2F are exemplary batch search system interfaces, in accordancewith embodiments described herein;

FIG. 3 is a flow diagram showing an example method for providing batchsearch interfaces, in accordance with embodiments described herein;

FIG. 4 is a flow diagram showing an example method for providing batchsearch interfaces, in accordance with embodiments described herein;

FIG. 5 is a flow diagram showing an example method for providing batchsearch interfaces, in accordance with embodiments described herein; and

FIG. 6 is a block diagram of an exemplary computing environment suitablefor use in implementing embodiments described herein.

DETAILED DESCRIPTION

Search systems support identifying, for received queries, query resultitems (e.g., products or content) from item databases. Item databasescan specifically be for content platforms or product listing platformssuch as EBAY item listing platform, developed by EBAY INC., of San Jose,Calif. Search systems include search system functionality that isimplemented to systematically browse databases, the World Wide Web,etc., for the purpose of identifying documents and/or items relevant tothe search query. For example, a typical search query with multiplewords will default to find results most relevant to all of the keywordssubmitted to the query.

In conventional search systems, a search query is implemented such thata search query for two or more keywords is performed as a single searchfor all of the keywords. For example, a search for “tent” and “cooler”may return results that are relevant to both terms and/or either term.Results for the single search query are displayed in a single listing ofresults. That is, if a user searches “tent OR cooler,” the searchresults may comprise a combination of exclusive “tent” results andexclusive “cooler” results; however the results will be intermingled ina single list of query results. Further, typical search queries areperformed using text-based user inputs; while other search queries maytranscribe audio into text.

Users desiring to search items from a multimedia object (i.e., mediaresource such as an image or a video) also face challenges in existingGUIs of search systems. Users may be forced to manually identify itemsin the image and generate their own queries. Relying on users toidentify features and create search queries, with the necessaryparticularity to generate desirable search results, incorporatesinefficiencies from the users' perspective, and is likely to consumeotherwise-unnecessary computing resources in order to perform multiplesearches until the desired search results are presented. As such, analternative approach for providing search query searching functionalityin search systems would improve computing operations and user interfacenavigation in search systems.

Embodiments of the present invention relate to methods, systems andcomputer storage media for improving search systems based on providingbatch search systems having batch search system interfaces (e.g., batchsearch query interface and batch search results interface) that supportoperations for dynamically generating batch search queries, executingbatch search queries, and causing display of batch search query resultitems (e.g., search query results, complementary results, andreplacement results). At a high level, the user may provide a mediainput or media resource as an input to a batch search interface. Themedia resource may be an image or a video. The batch search systemprovides a batch search query interface (e.g., client interface) thatincludes graphical control elements that are used for dynamicallygenerating batch search queries. The client interface specificallysupports operations that detect one or more features from the mediainput. Detecting the one or more features can be performed using localoperations, remote operations, or a combination thereof. For example,local operations contemplate that the detection mechanism is primarilyat a client device, remote operations contemplate the detectionmechanism is primarily at a server device.

The client interface also supports identification of a tag for each ofthe features. A tag may refer to an attribute associated with a featureof the media resource. For example, the user may upload an image of agroup of people playing football. The client interface may automaticallydetect features, such as jerseys, helmets, and shoes, being worn on thebody of a player; a referee jersey, and whistle being worn on the bodyof a referee; and a football. Features and tags can be detected based onclassifiers using an item database taxonomy that identifies a pluralityof categories (e.g., a category tree). The hierarchical framework (e.g.,categories and subcategories) of the items database taxonomy are usedfor both feature recognition and tagging and corresponding hierarchy ofthe features to tags. It is contemplated that features of the mediaresource are associated with specific characteristics of the mediaresource (e.g., image or video). For example, image-type features orcharacteristics are identified for images and video-type features orcharacteristics are identified for video. Detecting the features mayalso be associated with a granularity setting that defines how broadlyor narrowly features are detected. Features can also be determined asdamaged such that the feature is tagged and processed accordingly, inaccordance with embodiments described herein.

The client interface may also support detection of metadata associatedwith the media resource. For example, it is further contemplated thatthe client may further detect or deduce a search context associated withthe input media resource, which is used to provide more relevant searchresult items. The search context may be explicitly tagged or implicitlytagged to a corresponding feature, where the context is used inexecuting a corresponding search query or the generated batch searchquery. For example, the image of football players may not show the padsworn beneath the players' jerseys. However, by detecting the football,the referee, and a group of players, the batch search system may detectthat the scene is related to playing football (i.e., context). As such,search result items associated with football pads may be determined tobe relevant (e.g., recommended search result items). In this regard,both visual (e.g., motion between video frames, a setting of an image,etc.) and non-visual (e.g., audio associated with a video) features ofthe media resource can be detected and provided on the batch searchinterface as tags.

The batch search system provides batch search query interfaces fordynamically generating multiple batch search queries simultaneously.Dynamically generating a batch search query includes continuous andadaptive alteration of the individual search queries based on userselections. For example, a batch search interface includes graphicalcontrol elements that allow users to add, remove, combine, or modify anyfeatures or tags generated on the batch search interface. The graphicalcontrol elements of the batch search query interface may be used toreceive user selections that trigger dynamic and visual alterations ofthe features of a media input. Using the previous example, the automaticgeneration of tags may not detect a mouth guard due to the quality orangle of the image; however, the batch search system allows the user toadd the mouth guard to the batch search input. In this regard, the userhas the ability to control the generation of different search queriesfor the media input, which is part of simultaneously and visuallydefining multiple search queries into a batch search query that can beexecuted together on the batch search system. User selections arereceived through the batch search query interface such that each of aplurality search queries in the batch search query is caused to beexecuted. The search queries in the batch search query may be executedsubstantially in parallel.

The batch search system provides batch search results interfaces thatinclude a simultaneous display of search result items for the searchqueries defined using the input image. The batch search system executesthe batch search query such that corresponding search result items aredisplayed in feature-tag-specific results display portions of the batchsearch results interface. For example, the batch search resultsinterface includes a first feature-tag-specific results display portionwith search result items for the first feature and a secondfeature-tag-specific results display portion with search result itemsfor the second feature. In this regard, search result items for a mediainput are a combined set of simultaneously displayed search result itemsfor search queries that are simultaneously defined using the batchsearch interfaces. Other variations and combination of batch searchinterfaces for search result items are contemplated with embodimentsdescribed herein.

In operation, a batch search query interface is provided for accessingthe input image (or media resource) and a batch search result interfaceis provided for simultaneously displaying grouped search result itemsfor the input image. The batch search query interface supports definingbatch search queries based on features and tags associated with theinput image. The batch search result interface supports displaying,filtering, and sorting the simultaneously displayed feature-tag-specificgrouping of search result items generated based on the features andtags. For example, filtering can be based the particular images orvideos a user in interested in, to continue performing searching, where,in a search results pages, the user can filter the combination of imagesand video clips to retain or remove different selections. In aconventional system, in order to return results for a football jerseyand a referee whistle, a user would be forced to perform two independentsearch queries, each independent search query having independent searchresults. Using batch search system, these items, and others, may besimultaneously searched in the single batch search query and results forthe batch search query simultaneously displayed on the batch searchresult interface.

Embodiments of the present invention are further described below withreference to example operations and techniques which are not meant to belimiting. In operation, a batch search system may implement severalengines, managers, devices, interfaces (collectively “components”) toperform operations associated with providing batch search interfaces.The batch search system may provide a plurality of graphical controlelements for dynamically generating batch search queries. The batchsearch interfaces can include various input options to allow forcreating a batch search query. By way of example, a text bar may beprovided that would allow a user to manually enter a plurality ofqueries.

The batch search interface may provide a client interface tool (e.g.,multimedia input tool) that allows a user to provide a media resource tothe batch search system. The media resource could be any one or moreimages, or video. For example, the batch search system may provide anability to upload a digital photo stored on the user device used toaccess the batch search system and use the entire photo or provide theuser the ability to crop the photo to focus on one or more desiredportions. With respect to the input, the batch search system may permitthe upload of a media resource stored locally on the user device; or mayobtain the resource from an internet resource upon the input of a URL,or web address; or may provide users the ability to use a camera of theuser device to capture a new media resource. The batch search system mayalso provide a video-specific search interface. The video-specificsearch interface may provide video snipping functions wherein an inputvideo can be clipped into to one or more clips and one or moreindividual frames may be individually selected. Additionally, thevideo-specific search interface may provide functionality where a searchmay be performed on a portion of a streaming video, that is, once afirst portion is streamed, a first search may be performed as describedherein, yielding first search results. Once a second portion isstreamed, a second search may be performed, yielding second searchresults, which may be used to reconcile or update the first searchresults.

With reference to detection operations (or feature recognition andtagging) the batch search system identifies and tags features (e.g.,objects in the media resource or metadata associated with the mediaresource) within the image using any object detection techniques. Objectdetection generally refers to computer technology related to computervision and image processing that deals with detecting instances ofsemantic objects of a certain class (such as humans, buildings, or cars)in digital images and videos. Object detection further includes taggingobjects with features with determined attributes. By way of example, anobject and feature in an image may be identified as a child playing witha toy; tags or attributes such as the age and gender of the child may bedetermined (e.g., female aged 2-4 years old), and those attributes maybe used to determine one or more item keywords (e.g., “toy AND toddlerAND girl”). Once the feature and tags are identified, the features andtags may be provided on a user interface in proximity to the identifiedfeature.

With continued reference to object detection techniques, features may bedetected within the media resource using any suitable means for boundaryor edge detection. The batch search system may utilize color detectionto identify the boundary between two features, and may use colordetection in order to provide a clue for identifying the feature, or mayutilize the detected color as the basis for determining an attribute ofthe feature. For example, the batch search system may use colordetection to determine that a feature having a first color is adifferent color than its surroundings, this information may be used toisolate the feature and support its detection or identification. Thebatch search system may use material detection to detect the boundariesor edges between different apparent textures and materials. Like colordetection, material detection may be used to support detecting oridentifying the feature or may utilize the detected material as thebasis for determining an attribute of the feature. Other variations andcombinations of detection techniques are contemplated with embodimentsof the present invention.

Once the feature has been detected, the batch search system utilizes oneor more classifiers in order to determine an attribute of the feature orto identify an item that is representative of one or more attributes ofthe feature. In some embodiments, the detected features may use anysuitable image search functionality as an image classifier. The batchsearch system may use optical character recognition (OCR) to determinetext on a feature and utilize said text to provide an attribute of thefeature or an item associated with such an attribute. For example, afeature may be identified as a purse, using an image searchfunctionality, and the OCR operation to determine that the feature hasthe text “Coach” included thereon. Using the OCR and image searchclassifiers, the batch search system may determine that the feature is aCOACH™ purse. Any one or more of the classifiers may be used todetermine an attribute of the feature, an item associated with anattribute, and a category of the feature, among others. For example, animage classifier may determine that a feature is associated with the“purse” category of items.

In embodiments providing for the media resource being a video input, amotion classifier may be provided by the batch search system in order toclassify movements of the feature. For example, a video of a man sittingin a recliner may be provided to the batch search system. Without themotion classifier, the batch search system may detect the chair andclassify it based on its motionless characteristics; that is, the batchsearch system may identify the chair as an accent chair or a leatherchair, for example. Using the motion classifier, search system mayidentify the motion of the reclining and classify said motion todetermine a new attribute, in this case, that the chair is a recliner.

Having used any one or more of the classifiers, any one or more of thedetermined attributes or items associated with an attribute may bedisplayed as one or more tags on a user interface of the user device inproximity to the detected feature. The batch search system provides auser interface for viewing, selecting, and modifying the tags. For anyparticular feature, a tag may comprise any combination of attributes oritems associated with one or more attributes. Returning to the exampleof the recliner, a first tag may be generated for the person sitting inthe recliner and a second tag may be generated for the recliner itself.The first tag may be labeled initially as “Man” and selectively expandedto reveal attributes or items associated with “Man.”

By way of example, when expanded, “Man” may include attributes such asthe man's age, articles of clothes being worn by the man (e.g., a redshirt, blue jeans, and black sneakers), or items in close proximity tothe man (e.g., eyeglasses being worn, a pen being held, etc.). Thesecond tag may be labeled initially as “chair” and selectively expandedto reveal attributes or items associated with “Chair.” For example, whenexpanded, “Chair” may include attributes such as recliner (based on themotion classifier), a material (e.g., leather, fabric), or a color. Thebatch search system may provide a user interacting with the userinterface of the mobile device the ability to select the high-level tag,such as “Man” or “Chair,” or select any one or more of the attributes oritems associated with the one or more tags, such as “Man|red shirt” or“Chair|recliner.” In some aspects, either the high level tags or thegranular attributes or items may be modified by the user if the userdetermines that the classifier was incorrect or inaccurate in itsclassification. For example the user may have specific knowledge thatthe recliner is upholstered in imitation leather as opposed to genuineleather. The user may modify the “leather” attribute to become“imitation leather.”

The batch search system also provides functionality for manuallydetecting and classifying features. While the feature detection functionis designed to detect the relevant features within the media resource, athreshold must be set in order to avoid too many features from beingdetected and classified, which would provide noise and confusion to auser's interaction with the user interface. For example, a mediaresource may be an image of a family having a picnic at a campsite. Theimage may include a variety of relatively small flora features. Due tothe small makeup of each individual small flora feature vis-à-vis theimage as a whole, the feature detection process may focus more onrelatively larger features such as a tent, people, a picnic blanket, ora cooler. Should the user desire to include an undetected feature, thebatch search system may provide manual feature detection that permits auser to specify the feature (e.g., with a pointer, drop pin, or thelike). In this way, the user may instruct the batch search system toattempt to specifically detect and classify a particular feature; in thecase of the camping example, a relatively small feature such as a uniqueflower.

In one embodiment, the batch search system supports detection operationswhere features can also be determined as a damaged feature. Using thedetection techniques described herein, a feature in a media input isdetermined as damage such that the feature is tagged and processed as adamaged feature. A feature that is damaged may refer to a feature havinga degraded change to its original form, for example, a physical objectthat is degraded from its initial state. It can broadly be defined aschanges introduced into a system that adversely affect its current orfuture performance. For example, an image may include a mobile devicehaving a cracked screen. The mobile device screen may be identified asthe feature and then a determination is made that the screen is cracked.As such, the detection operations further includes tagging the featureas damaged feature. For example, the detection operation provides adamaged feature-tag for the phone, where a tag for the phone includes anindication that the phone is damaged. As discussed below,feature-tag-specific replacements display portions for displayingreplacement results based on corresponding damaged feature-tags can beprovided.

With continued reference to operations that support dynamicallygenerating a batch search query, user selections, received usinggraphical control elements, support generating the batch search query.Based on the user selection of the tags that the user desires to search,the batch search system will create a modifiable batch search query. Thebatch search system may provide an individual selection feature, whereindividually selected tags become individual search queries. The batchsearch system may also provide a combination selection feature, wheremultiple selected tags become a single search query. Returning to theexample of the recliner, a user may individually select “chair|brown” or“chair|recliner.” In response, the batch search system will create twoindependent queries, one for each tag. If selected in the combinationselection mode, the batch search system will create a single unitaryquery of “chair|brown|recliner.” In some embodiments the batch searchsystem may display the selected search queries on the user interface ofthe mobile device prior to executing the search, allowing the user tomodify or attend the to-be-executed search. For example, the user mayadd an attribute to a detected item, such as indicating that the chairis capable of swiveling, or the user may add free text of an attributeor item the user desires to specifically search, such as a table lamp.

After assembling the batch search query, the batch search system mayperform the batch search upon execution by the user. The performance ofthe batch search may involve any web crawling or database crawlingtechniques suitable for identifying items based on the selectedattributes or falling within the category of item selected by the user.During the performance of the batch search query, the batch searchsystem may simultaneously or sequentially perform a search for each ofthe selected search queries. Again returning to the example of therecliner, if “chair|brown” and “chair|recliner” were selected inindividual mode, a first search would be completed for the first querytext (chair|brown) and a separate second search would be completed forthe second query text (chair|recliner). If selected in combination mode,and appended with the query text “table lamp,” a first search would becompleted for the first query text (chair|brown|recliner) and a separatesecond search would be completed for the second query text (table lamp).

In this regard, the batch search query interface allows selection of theidentified features and tags in order to create a batch query, where thebatch search query refers to two or more search queries communicated forexecution in parallel or substantially in parallel. The two or moresearch queries would other have been executed independently inconventional search systems. In response to the submission of the batchsearch query, search result items are displayed on a batch search resultinterface such that results for each query are grouped together, withtwo or more groups being simultaneously displayed.

The batch search system may also provide for the simultaneous display ofbatch search results, grouped by search query tags. On a single batchsearch results interface, search results will be displayed for theplurality of search queries tags, grouped by the query text. Returningto the example of the search having the search text of “chair|red” and“chair|recliner,” the batch search result interface may comprise a firstgroup of results for “chair|red” and a second group of results for“chair|recliner.” The batch search system may utilize traditionalBoolean searching in order to carry out the plurality of search queries,wherein text associated with an item listing is determined to match thesearch query text. The batch search system may additionally oralternatively utilize affinity-based searching, wherein search resultsare organized by co-occurrences or relationships (e.g., complementary orsubstitute) among individual item listings. Each group of search resultsmay include sorting functions that enable user to sort by relevance,price, brand, availability, and the like.

Within each group of results, one or more items satisfying therespective search query will be displayed. In some embodiments, thebatch search system provides that on the batch search result interface,these items within each group result are a preview of the item, thepreview comprising any one or more of a preview representation (e.g., animage, GIF, video clip, or the like), and item name, or price. In otheraspects, the batch search system may provide a user the ability tomodify the contents of the preview representations. In embodiments wherea media resource was used to originate the query text, the batch searchsystem may provide a reproduction of the detected feature as part of thegrouped search results in order for the user to visually correlatesearch results to the detected feature.

In addition to providing matching search results to the batch searchquery, the batch search system may provide complementary search results.The batch search system may utilize information about the query text toidentify items that may relate to, but not match the query text. Usinginformation available to the batch search system, such as the historicalbrowsing and purchasing behavior of a specific user or of a group ofusers, location information (e.g., location of the user doing thesearching, location associated with the media resource), or timinginformation (e.g., if the search is being conducted around Halloween,Halloween-related search results may be more relevant), the batch searchsystem may determine that a first recommended item (or group of items)is frequently bought with a matching item of a particular category. Forexample returning to the uploaded image of the family camping, a firstquery text of “tent” may return matching results for tents. The batchsearch system may determine that sleeping bags are frequently purchasedwith or in proximity to the purchase of tents. Based on thisrelationship, the complementary search results may display a group ofsearch results for sleeping bags. The batch search system may alsoutilize information about the query text to determine items that may besubstitutes for the query text. Accordingly, the complementary searchresults may comprise a group for beach blankets or blankets, generally.

Embodiments of the present invention have been described with referenceto several inventive features associated with a batch search system thatsupports providing batch search interfaces. Functionality of theembodiments of the present invention have further been described, by wayof implementation and anecdotal examples, to demonstrate that theoperations for processing batch search queries are an unconventionalordered combination of operations that operate to improve the userinteraction with a computing device, improve the efficiency and use ofcomputing resources in order to perform otherwise-independent searchqueries, and improve the functioning of user devices with limiteddisplay resources by specifying what information is displayed and how itis displayed. Further, embodiments of the present invention demonstratea solution to a specific problem in search technology where an otherwiseindependent search queries requiring independent search resources andindependent display resources may be consolidated into a single batchsearch system. Overall, these improvements result in less CPUcomputation, small memory requirements, and increased flexibility insearch systems.

With reference to FIG. 1, FIG. 1 illustrates an exemplary batch searchsystem 100 in which implementations of the present disclosure may beemployed. In particular, FIG. 1 shows a high level architecture of thatbatch search system 100 having components in accordance withimplementations of the present disclosure. Among other components,managers, or engines not shown, batch search system 100 includes acomputing device 150, which may also be referred to herein as a clientdevice, the computing device 150 having a client batch search interfacecomponent (“client interface” 160). The computing device 150 maycommunicate via a network 170 and with a search engine 110. The searchengine 110 includes the batch search interface engine 120 having thefeature-tag operations engine 130, and the item database 140. Thecomponents of the batch search system 100 may communicate with eachother over one or more networks (e.g., public network or virtual privatenetwork “VPN”) as shown with network 170. The network 170 may include,without limitation, one or more local area networks (LANs) and/or widearea networks (WANs). The computing device 170 may be a client computingdevice that corresponds to the computing device described herein withreference to FIG. 6. Each of the identified components may represent aplurality of different instances of the component. Further the batchsearch interface engine 120 may combine components, such as, featuredetector, classifier, and a batch search engine (all not shown) thatsupport the functionality described herein.

The components of the batch search system 100 may operate together toprovide functionality for a batch search system. The batch search system100 provides batch search interfaces (e.g., batch search query interfaceand batch search results interface) and supports operations fordynamically generating batch search queries, executing batch searchqueries, and causing display of batch search query result items. Theclient interface 160 may provide a media input (e.g., a media resource)as an input to a batch search interface engine 120. The batch searchinterface engine 120 along with the feature-tag operations engine 130execute processing operations (e.g., feature detection, classificationoperations, batch search queries, other search system requests from thecomputing device 110).

The batch search interface engine 120 communicates client interface 160,item database 140 and the feature-tag operations engine 130. In concertwith the a feature-tag operations engine 130, the batch search interfaceengine 120 may initiate queries to determine an attribute or itemassociated with the attribute based on the characteristics of thefeature, detected by the batch search interface engine 120. In oneembodiment, features and tags can be detected based classifiers using anitem database taxonomy that identifies a plurality of categories (e.g.,a category tree). The hierarchical framework (e.g., categories andsubcategories) of the items database taxonomy are used for both featurerecognition and tagging and corresponding hierarchy of the features totags. It is contemplated that features of the media resource areassociated with specific characteristics of the media resource (e.g.,image or video).

The batch search interface engine 120 may support the operations forproviding batch search queries, as described herein. The batch searchinterface engine 120 may perform a query on or instruct the itemdatabase 140 to query its memory to identify a plurality of matching orcomplementary items in response to the submission of a batch searchquery. Acting as a search engine, the batch search interface engine 120may access a classification operation for organizing products in aproduct listing platform. The batch search interface engine 120 may bepart of a product listing platform that supports access to the itemdatabase 140. The products in the product database may be stored basedon a data structure having a structural arrangement of products (e.g., aproduct category and a product classification system). For example, theitem database 140 may be implemented with a database schema that storesproduct listings based on product titles. The classification of theproducts may be maintained and annotated using classification operationsthat operate based on machine learning.

The batch search interface engine 120 manages the classificationoperations that are supported via the batch search system 100, asdescried herein. Classification operations may be associated withdetermining an item or attribute by processing the detected featurethrough any suitable image searching engine or extracting attributessuch as text via OCR or a barcode via a barcode scanner. The classifiermay use the results of the image search query and/or the extractedattributes to query the feature-tag operation engine 130 in order toclassify the detected feature as having one or more attributes. Theimage search engine may use a combination of text and images in amachine learning model that uses a convolution neural network (CNN) toextract information from an image. As such, different types ofclassification algorithms and corresponding classification operationsare contemplated with embodiments of the present invention.

With reference to FIG. 2A-2F, FIGS. 2A-2F illustrate exemplary view of auser interface for implementing a batch search interface engine 120 thatsupports batch searching. FIG. 2A illustrates an exemplary first view201 of a user interface 200. The first view 201 illustrates how a mediaresource, such as an image, can be provided to the batch search system.The first view 201 comprises a representation of the media resource 210.In the case of an image, the image may be displayed as result of theuser uploading the image from a user device, the retrieval of an imageassociated with the URL provided by the user, or a copy of an imagecaptured by the user device. The first view 201 may comprise a pluralityof input commands, such as a feature selection button 212 a search allfeatures button 214 and retry input button 216. By interacting with thefeature selection button 212 a user may manually specify particularfeatures within the representation of the media resource 210. Forexample, a user may only desire to obtain search information on the tentand cooler depicted in the image. By activating the feature selectionbutton 212, the user may manually specify that only these two featuresare to be detected and classified. By interacting with the search allfeatures button 214, the user allows the batch search system to detectand classify all features it deems relevant from the representation ofthe media resource 210. For example, activating the search all featuresbutton 214 may result in the detection and classification of a tree, atent, a cooler, a child, a baby, a woman, and a man. The retry inputbutton 216 provides a means for replacing the representation of themedia resource 210 with a different representation of a same ordifferent media resource.

Referring to FIG. 2B, an exemplary second view 202 of the user interface200 is provided. The illustration in FIG. 2B may be the result ofactivating the search all features button 214. In response to such anactivation, the batch search system detects and classifies one or morefeatures for example, the batch search system may detect a tree 221, andprovide, as a result of the classifying, a first tag 220 that comprisesan activation indicia 222 and a text tag label 223. For detectedfeatures that may have attributes detected or classified by the batchsearch system, an expanded selection pane 225 comprising one or moreattribute tags may result from interaction with an expandable featuretag, such as the expandable feature tag 224. For example, the batchsearch system may detect a woman as a feature in the provided image. Thebatch search system may further detect or classify certain attributes ofthe woman in the image such as the clothing or accessories being worn bythe woman. In this particular example, the batch search system hasdetected or classified the woman as wearing a gray top, denim shorts,black sunglasses, and a black T-shirt. As a result of the user selectionof an attribute tag from the expanded selection pane 225, a correlatedtext search tag may be added to a search bar 218. For example, uponselection of the attribute tag “Gray Top” from the expanded selectionpane 225, a first text search tag 226 is created for “Woman|Gray Top,”and upon selection of the attribute tag “Black T shirt,” from theexpanded selection pane 225, a second text search tag 227 is created for“Woman|Black T shirt.”

Also seen in the second view 202 of FIG. 2B, is a select feature button240 and a combination search button 242. The select feature button 240provides a functionality wherein, after the batch search system'sinitial detection and classification, the user may activate the selectfeature button 240 to manually specify a yet-undetected feature. Thedesired feature may not have been detected or classified because doingso would have created too much visual noise, or because the feature wastoo small or the boundaries less defined than other, moreeasily-detectable features, among other reasons. The combination searchbutton 242 provides a user with the ability to associate multipleotherwise-independent tags together, in to a single text search tag. Forexample, if the combination search button 242 were activated prior toselecting “Gray Top” and “Black T shirt” from the expanded selectionpane 225, instead of creating two separate text search tags, the batchsearch system may create a single, combination text search tag, such as“Woman|Gray Top|Black T shirt.”

Turning now to FIG. 2C, an exemplary third view 203 of the userinterface 200 is provided. The third view 203 illustrates the change toan indicia upon the selection of one or more tags from therepresentation of the media resource 210. For example, a tent 230 mayhave an associated tag 231 that comprises a text label and indicia 232.Compared to other indicia on unselected tags, the indicia 232 associatedwith the tent tag 231 indicates a changed state. In the example of FIG.2C, the indicia 232 associated with the tent tag 231 has been modifiedto a changed state in response to its selection as part of a combinationtext search tag 234. Also seen in FIG. 2C, the batch search system hascreated combination search tag 234 in response to the activation of thecombination search button 242 of FIG. 2B and subsequent selection of the“Tent” feature tag 231, the “Kid” feature tag 236, and “Baby” featuretags 238.

Referring to FIG. 2D, an exemplary fourth view 204 of the user interface200 is provided. In addition to adding individual search query tags 226,227 (best seen in FIG. 2B) and combination search tags 234 (best seen inFIG. 2C) to the search bar 218, the batch search system 100 may providea user the ability to activate the select feature button 240 in order tomanually detect and classify and feature, and subsequently select thetag to be added to the search bar. For example, FIG. 2D illustrates thata picnic blanket 244 was not originally detected or classified by thebatch search system. In response to activating the select feature button240 and indicating to the picnic blanket 244 at a point 245 on thefeature, the batch search system may specifically detect that a featureexists at point 245 and use any of the classification methods describedherein, in order to generate a feature tag. Accordingly, a feature tag246 associated with the picnic blanket 244 is provided by the batchsearch system and selectable for creation as a search query tag. Thoughspecific examples have been provided for how a search query tags aregenerated from a media resources, it is also contemplated that the batchsearch system may provide a variety of other input methods for creatingsearch query tags. Specifically, the batch search system may permit auser to use voice to text (e.g., using a microphone native to thecomputing device of FIG. 4) and may accept typed search query tags(e.g., using a text input function native to said computing device) inaddition to or as an alternative to creating search query tags fromdetected features of a media resource.

Turning now to FIG. 2E, an exemplary fifth view 205 of the userinterface 200 is provided. The batch search system provides batch searchquery results having any one or more attributes as described inexemplary aspects herein. The fifth view 205 may comprise a searchheader and a plurality of search result groups, wherein each searchresult group is the results of a search query performed on a particulartext search query tag, and various navigation features. The searchheader 250 may comprise the search bar 218 with a first text searchquery tag 226, a second text search query tag 227, a third text searchquery tag 234, and a fourth text search query tag 247, all of which weresubmitted, in a single search, to the batch search system. The searchheader may also comprise links to a matching results view 260 and acomplementary results view 262. The search header may further comprise asorting feature 264, which may sort the groups, or items within thegroups, based on measurements such as relevance, best match (i.e., themost relevant search result items of a particular group, based on asearch query algorithm, with respect to a corresponding search querytag), popularity, number of matching items, price, etc.

As mentioned, the fifth view 205 may comprise a plurality of searchresult groups, each group representing results for a particular textsearch query tag. For example, the fifth view 205 comprises a firstsearch result group 252 containing results for the first text searchquery tag 226, a second search result group 254 containing results forthe second text search query tag 227, and a third search result group256 containing results for the third text search query tag 234. A fourthsearch result group containing results for the fourth text search querytag 247 may not be displayed on the default fifth view 205 because ofdisplay interface limitations (e.g., a small screen associated with amobile device) but may be accessed with an additional results link 289.

Each search result group may contain various information that isdetermined to be relevant to a user's shopping decision. For example,each search result group may comprise a text label 270 that reminds theuser of the text search query tag used to generate the groups' results.For batch search queries resulting from features detected in a mediaresource, the search result group may comprise a reproduction of thedetected feature which was the basis for the creation of the featuretag. The search result group may comprise one or more matching itemresults. Each matching item result, such as a first matching item result274 may comprise a text identifier 276 which may comprise an item name,keyword, or listing title associated with an item. The first matchingitem result 274 may also comprise a price for the item 278 and a previewimage of the feature 280. In addition to the individual results, eachsearch result group may comprise a filtering function 282, whereinmatching item results within the group can be sorted in a sorting menu288 by various attributes such as size, price, category, leaf category,availability, brand, color, style, or the like. The search result groupmay also comprise a result quantity indicator 284 that indicates thenumber of matching item results in the particular search result groupand a “view all” feature 286 that changes the view from the fifth view205 having a plurality of search result groups, to a view of resultsexclusive to the selected search result group.

With reference to FIG. 2F, an exemplary sixth view 206 of the userinterface 200 is provided. The sixth view 206 is an example of a listingof complementary results, accessed by selecting the complementaryresults link 262. Like the fifth view 205, the sixth view 206 comprisesthe search bar 218, indicating the text search query tags submitted inan earlier step. The sixth view 206 comprises a plurality ofcomplementary search result groups. In aspects, a complementary searchresult group may be mapped one-to-one with a matching search resultgroup. For example, the third search result group 256 of the fifth view205 may be the result of a single text search query tag and maycorrelate directly to a single complementary search result. Thus, the“Tent+Kid+Baby” complementary results may be complementary only to the“Tent+Kid+Baby” matching search results. In other aspects, thecomplementary results may be a consolidation of multiple text searchquery tags. For example, though “Woman|Gray Top” and “Woman|Black Tshirt” were separately searched, they may be consolidated in thecomplementary results view into a single group having a genus-speciesrelationship to the groupings of the fifth view 205. That is, becausegray tops and black t-shirts are both tops, and both were specific towomen, the complementary result view may replace both species with the“Woman|Top” genus.

Each complementary search group may comprise a title 271 representingthe feature, keyword(s), or attribute(s) searched. The complementarysearch group may also comprise a reproduction of the detected featurefrom the media resource, a filtering function 282, result quantity 284and “view all” function 286. Each complementary search group maycomprise one or more complementary item results 274, wherein eachcomplementary item result is related to the title 271 and comprises atext indication 276 (e.g., title of listing, feature name, etc.), aprice 278, a visual representation/preview 280 of the complementaryitem, and one or more selection toggles 281 that permits a user to addthe item to a shopping cart.

With reference to FIGS. 3, 4, and 5, flow diagrams are providedillustrating methods for proving batch search interfaces. The methodsmay be performed using the search system described herein. Inembodiments, one or more computer storage media havingcomputer-executable instructions embodied thereon that, when executed,by one or more processors can cause the one or more processors toperform the methods in the search system.

Turning to FIG. 3, a flow diagram is provided that illustrates a method300 for providing batch search interfaces. Initially at block 310, abatch search query interface for inputting input images is generated.The batch search query interface includes a plurality of graphicalcontrol elements for dynamically generating batch search queries. Atblock 320, an input image is received. The input image is associatedwith a plurality of features. At block 330, a first feature and a secondfeature of the input image are detected as batch search query features.At block 340, a first tag for the first feature and a second tag for thesecond feature are caused to be displayed. Tags are attributesassociated with features of the input image. At block 350, a batchsearch query, based on the first tag and the second tag, iscommunicated. At block 360, a first plurality of results associated withthe first tag and a second plurality of results associated with thesecond tag are received. At block 370, the first plurality of resultsand the second plurality of results are caused to be displayed oncorresponding feature-tag-specific results display portions of the batchsearch results interface.

Turning to FIG. 4, a flow diagram is provided that illustrates a method400 for providing batch search interfaces. At block 410, a first featureand a second feature a media resource are detected as batch search queryfeature. At block 420, a first tag for the first feature and a secondtag for the second feature are caused to be displayed. The batch searchquery interface includes a plurality of graphical control elements forexecuting batch search queries. At block 430, a batch search query basedon the first tag and the second tag is communicated. The batch searchquery is dynamically defined via the batch search query interface basedinputs for the plurality of graphical control elements that triggerdynamic alteration of graphical elements associated with features of themedia resource or the batch search query that are displayed in the batchsearch query interface. At block 440, a first plurality of resultsassociated with the first tag and a second plurality of resultsassociated with the second tag are received. At block 450, the firstplurality of results and the second plurality of results are caused tobe displayed on corresponding feature-tag-specific results portions ofthe user interface.

Turning to FIG. 5, a flow diagram is provided that illustrates a method500 for providing batch search interfaces. Initially at block 510, abatch search query interface for receiving media resources is generated.The batch search query interface includes a plurality of graphicalcontrol elements for executing batch search queries. At block 520, amedia resource is received, the media resource is one of: an image or avideo. At block 530, a first feature and a second feature of the inputimage are detected as batch search query feature. At block 540, a firstfeature identifier, a second feature identifier, a first tag for thefirst feature, and a second tag for the second feature are caused to bedisplayed. At block 550, a batch search query is communicated to causegeneration of search result items for a single batch search querysession. The batch search query is generated based on the first featureidentifier, the second feature identifier, the first tag for the firstfeature, and the second tag for the second feature. At block 560, afirst plurality of results associated with the first feature identifierand the first tag and a second plurality of results associated with thesecond identifier and the second tag are received for the single batchsearch query session. At block 570, the first plurality of results andthe second plurality of results are caused to be displayed onfeature-tag-specific results portions of the batch search resultsinterface.

With reference to the batch search system 100, embodiments describedherein support batch searching for a search system. The batch searchsystem components refer to integrated components that implement thebatch search system. The integrated components refer to the hardwarearchitecture and software framework that support functionality using thebatch search system components. The hardware architecture refers tophysical components and interrelationships thereof and the softwareframework refers to software providing functionality that may beimplemented with hardware operated on a device. The end-to-endsoftware-based search system may operate within the other components tooperate computer hardware to provide search system functionality. Assuch, the batch search system components may manage resources andprovide services for the batch search system functionality. Any othervariations and combinations thereof are contemplated with embodiments ofthe present invention.

By way of example, the batch search system may include an API librarythat includes specifications for routines, data structures, classes, andvariables, which may support the interaction the hardware architectureof the device and the software framework of the batch search system.These APIs include configuration specifications for the batch searchsystem such that the components therein may communicate with each otherfor the novel functionality described herein.

The batch search system 100 of FIG. 1 illustrates an example in whichimplementations of the present disclosure may be employed. Inparticular, FIG. 1 shows a high level architecture of search system 100having components in accordance with implementations of the presentdisclosure. It should be understood that this and other arrangementsdescribed herein are set forth only as examples. In addition, a system,as used herein, refers to any device, process, or service or combinationthereof. As used herein, engine is synonymous with system unlessotherwise stated. A system may be implemented using components,managers, engines, or generators as hardware, software, firmware, aspecial-purpose device, or any combination thereof. A system may beintegrated into a single device or it may be distributed over multipledevices. The various components, managers, engines, or generators of asystem may be co-located or distributed. For example, although discussedfor clarity as a singular component, operations discussed may beperformed in a distributed manner. The system may be formed from othersystems and components thereof. It should be understood that this andother arrangements described herein are set forth only as examples.

Having identified various component of the batch search system 100, itis noted that any number of components may be employed to achieve thedesired functionality within the scope of the present disclosure.Although the various components of FIG. 1 are shown with lines for thesake of clarity, in reality, delineating various components is not soclear, and metaphorically, the lines may more accurately be gray orfuzzy. Further, although some components of FIG. 1 are depicted assingle components, the depictions are exemplary in nature and in numberand are not to be construed as limiting for all implementations of thepresent disclosure. The batch search system 100 functionality may befurther described based on the functionality and features of theabove-listed components.

Other arrangements and elements (e.g., machines, interfaces, functions,orders, and groupings of functions, etc.) can be used in addition to orinstead of those shown, and some elements may be omitted altogether.Further, many of the elements described herein are functional entitiesthat may be implemented as discrete or distributed components or inconjunction with other components, and in any suitable combination andlocation. Various functions described herein as being performed by oneor more entities may be carried out by hardware, firmware, and/orsoftware. For instance, various functions may be carried out by aprocessor executing instructions stored in memory.

Having described an overview of embodiments of the present invention, anexemplary operating environment in which embodiments of the presentinvention may be implemented is described below in order to provide ageneral context for various aspects of the present invention. Referringinitially to FIG. 6 in particular, an exemplary operating environmentfor implementing embodiments of the present invention is shown anddesignated generally as computing device 600. Computing device 600 isbut one example of a suitable computing environment and is not intendedto suggest any limitation as to the scope of use or functionality of theinvention. Neither should the computing device 600 be interpreted ashaving any dependency or requirement relating to any one or combinationof components illustrated.

The invention may be described in the general context of computer codeor machine-useable instructions, including computer-executableinstructions such as program modules, being executed by a computer orother machine, such as a personal data assistant or other handhelddevice. Generally, program modules including routines, programs,objects, components, data structures, etc. refer to code that performparticular tasks or implement particular abstract data types. Theinvention may be practiced in a variety of system configurations,including hand-held devices, consumer electronics, general-purposecomputers, more specialty computing devices, etc. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote-processing devices that are linked through acommunications network.

With reference to FIG. 6, computing device 600 includes a bus 610 thatdirectly or indirectly couples the following devices: memory 612, one ormore processors 616, one or more presentation components 616,input/output ports 618, input/output components 620, and an illustrativepower supply 622. Bus 610 represents what may be one or more busses(such as an address bus, data bus, or combination thereof). Although thevarious blocks of FIG. 6 are shown with lines for the sake of clarity,in reality, delineating various components is not so clear, andmetaphorically, the lines would more accurately be gray and fuzzy. Forexample, one may consider a presentation component such as a displaydevice to be an I/O component. Also, processors have memory. Werecognize that such is the nature of the art, and reiterate that thediagram of FIG. 6 is merely illustrative of an exemplary computingdevice that can be used in connection with one or more embodiments ofthe present invention. Distinction is not made between such categoriesas “workstation,” “server,” “laptop,” “mobile device, “hand-helddevice,” etc., as all are contemplated within the scope of FIG. 6 andreference to “computing device.”

Computing device 600 typically includes a variety of computer-readablemedia. Computer-readable media can be any available media that can beaccessed by computing device 600 and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable media may comprise computerstorage media and communication media.

Computer storage media include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computingdevice 600. Computer storage media excludes signals per se.

Communication media typically embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of any ofthe above should also be included within the scope of computer-readablemedia.

Memory 612 includes computer storage media in the form of volatileand/or nonvolatile memory. The memory may be removable, non-removable,or a combination thereof. Exemplary hardware devices include solid-statememory, hard drives, optical-disc drives, etc. Computing device 600includes one or more processors that read data from various entitiessuch as memory 612 or I/O components 620. Presentation component(s) 616present data indications to a user or other device. Exemplarypresentation components include a display device, speaker, printingcomponent, vibrating component, etc.

I/O ports 618 allow computing device 600 to be logically coupled toother devices including I/O components 620, some of which may be builtin. Illustrative components include a microphone, joystick, game pad,satellite dish, scanner, printer, camera, wireless device, etc.

Embodiments described in the paragraphs above may be combined with oneor more of the specifically described alternatives. In particular, anembodiment that is claimed may contain a reference, in the alternative,to more than one other embodiment. The embodiment that is claimed mayspecify a further limitation of the subject matter claimed.

The subject matter of embodiments of the invention is described withspecificity herein to meet statutory requirements. However, thedescription itself is not intended to limit the scope of this patent.Rather, the inventors have contemplated that the claimed subject mattermight also be embodied in other ways, to include different steps orcombinations of steps similar to the ones described in this document, inconjunction with other present or future technologies. Moreover,although the terms “step” and/or “block” may be used herein to connotedifferent elements of methods employed, the terms should not beinterpreted as implying any particular order among or between varioussteps herein disclosed unless and except when the order of individualsteps is explicitly described.

For purposes of this disclosure, the word “including” has the same broadmeaning as the word “comprising,” and the word “accessing” comprises“receiving,” “referencing,” or “retrieving.” Further the word“communicating” has the same broad meaning as the word “receiving,” or“transmitting” facilitated by software or hardware-based buses,receivers, or transmitters” using communication media described herein.Also, the word “initiating” has the same broad meaning as the word“executing or “instructing” where the corresponding action can beperformed to completion or interrupted based on an occurrence of anotheraction. In addition, words such as “a” and “an,” unless otherwiseindicated to the contrary, include the plural as well as the singular.Thus, for example, the constraint of “a feature” is satisfied where oneor more features are present. Also, the term “or” includes theconjunctive, the disjunctive, and both (a or b thus includes either a orb, as well as a and b).

For purposes of a detailed discussion above, embodiments of the presentinvention are described with reference to a distributed computingenvironment; however the distributed computing environment depictedherein is merely exemplary. Components can be configured for performingnovel aspects of embodiments, where the term “configured for” can referto “programmed to” perform particular tasks or implement particularabstract data types using code. Further, while embodiments of thepresent invention may generally refer to the batch search system and theschematics described herein, it is understood that the techniquesdescribed may be extended to other implementation contexts.

Embodiments of the present invention have been described in relation toparticular embodiments which are intended in all respects to beillustrative rather than restrictive. Alternative embodiments willbecome apparent to those of ordinary skill in the art to which thepresent invention pertains without departing from its scope.

From the foregoing, it will be seen that this invention is one welladapted to attain all the ends and objects hereinabove set forthtogether with other advantages which are obvious and which are inherentto the structure.

It will be understood that certain features and sub-combinations are ofutility and may be employed without reference to other features orsub-combinations. This is contemplated by and is within the scope of theclaims.

The invention claimed is:
 1. One or more computer storage media havingcomputer-executable instructions embodied thereon that, when executed,by one or more processors, cause the one or more processors to perform amethod for providing batch search interfaces, the method comprising:generating a batch search query interface for receiving input images,wherein the batch search query interface includes a plurality ofgraphical control elements for dynamically generating batch searchqueries; receiving an input image, wherein the input image is associatedwith a plurality of features; detecting a first feature and a secondfeature of the input image as batch search query features; causingdisplay, on the batch search query interface, of a first tag for thefirst feature and a second tag for the second feature, wherein tags areattributes associated with features of the input image; communicating abatch search query based at least on the first tag and the second tag;receiving a first plurality of results associated with the first tag anda second plurality of results associated with the second tag; andcausing simultaneously display, on a batch search results interface, ofthe first plurality of results and the second plurality of results oncorresponding feature-tag-specific results display portions of the batchsearch results interface.
 2. The media of claim 1, wherein a feature ofthe plurality of features is a visual feature or non-visual feature ofthe input image, wherein the feature is represented as a tag in thebatch search query interface such the tag is selectable to perform thebatch search query.
 3. The media of claim 1, wherein detecting the firstfeature and the second feature of the input image is further based on anitem database taxonomy that identifies a plurality of categories,wherein the first feature and the second feature are at a first level ofa category tree of the item database taxonomy and the first tag andsecond tag are at a second level of the category tree.
 4. The media ofclaim 3, wherein detecting the first feature and the second feature ofthe input image is further based on a feature granularity settingassociated with the input image, wherein the feature granularity settingis based on a hierarchical framework of the item database taxonomy. 5.The media of claim 1, wherein detecting the first feature furthercomprises identifying the first feature as a damaged feature, wherein atag for the first feature includes a damaged-feature tag as anindication that the first feature is damaged.
 6. The media of claim 1,wherein causing display, on the batch search query interface, of thefirst tag for the first feature and the second tag for the secondfeature, further comprises causing display of the plurality of graphicalcontrol elements for defining the batch search query using the pluralityof graphical control elements.
 7. The media of claim 6, wherein userselections received using a plurality of graphical control elementstrigger dynamic alteration of graphical elements associated withfeatures of the input image or batch search query that are displayed inthe batch search query interface.
 8. The media of claim 1, wherein thebatch search results interface further comprises one or more of:feature-tag-specific complementary results portions for displayingcomplementary results based on corresponding feature-tags; andfeature-tag-specific replacements display portions for displayingreplacement results based on corresponding damaged feature-tags.
 9. Amethod for providing batch search interfaces, the method comprising:detecting a first feature and a second feature a media resource as batchsearch query features; causing display of, on a batch search queryinterface, a first tag for the first feature and a second tag for thesecond feature, wherein a tag is an attribute associated with acorresponding feature of the media resource, wherein the batch searchquery interface includes a plurality of graphical control elements forexecuting batch search queries; communicating a batch search query basedon the first tag and the second tag, wherein the batch search query isdynamically defined via the batch search query interface based inputsfor the plurality of graphical control elements trigger dynamicalteration of graphical elements associated with features of the mediaresource or the batch search query that are displayed in the batchsearch query interface; receiving a first plurality of resultsassociated with the first tag and a second plurality of resultsassociated with the second tag; and cause simultaneous display of, on abatch search results interface, the first plurality of results and thesecond plurality of results on corresponding feature-tag-specificresults portions of the batch search results interface.
 10. The methodof claim 9, wherein detecting the first feature and the second featureof the media resource is a based on: communicating at least a portion ofthe media resource to a batch search interface engine, wherein a batchsearch interface engine detects a plurality of features and a pluralityof tags of the media resource based on an item database taxonomy thatidentifies a plurality of categories; and receiving the plurality offeatures and the plurality of tags to dynamically cause display of atleast a subset of the plurality of features and a subset of theplurality of tags.
 11. The method of claim 10, wherein detecting theplurality of features and the plurality of tags is further based on afeature granularity setting associated with the media resource, whereinthe feature granularity setting is based on a hierarchical framework ofthe item database taxonomy.
 12. The method of claim 9, whereintriggering dynamic alteration of the batch search query furthercomprises dynamically changing on the batch search query interface eachof a plurality of search queries associated with batch search querybased on user selection associated with the plurality of graphicalcontrol elements.
 13. The method of claim 9, wherein detecting the firstfeature further comprises identifying the first feature as a damagedfeature, wherein a tag for the first feature includes a damaged-featuretag an indication that the first feature is damaged.
 14. The method ofclaim 9, wherein the batch search results interface further comprisesone or more of: feature-tag-specific complementary results portions fordisplaying complementary results based on corresponding feature-tags;and feature-tag-specific replacements display portions for displayingreplacements results based on corresponding damaged feature-tags.
 15. Asystem for providing batch search interfaces, the system comprising: oneor more processors; and one or more computer storage media storingcomputer-useable instructions that, when used by the one or moreprocessors, cause the one or more processors to execute: a client batchsearch interface component configured to: generate a batch search queryinterface for receiving media resources, wherein a batch search queryinterface includes a plurality of graphical control elements forexecuting batch search queries; receive a media resource, wherein themedia resource is one of: an image or a video; detect a first featureand a second feature of the media resource as batch search queryfeatures; cause display, on the batch search query interface, a firstfeature identifier, a second feature identifier, a first tag for thefirst feature, and a second tag for the second feature, wherein tags areattributes associated with features of the media resource; communicate abatch search query based on the first feature identifier, the secondfeature identifier, the first tag for the first feature, and the secondtag for the second feature to cause generation of search result itemsfor a single batch search query session; receive a first plurality ofresults associated with the first feature identifier and the first tagand a second plurality of results associated with the second featureidentifier and the second tag for the single batch search query session;and cause simultaneous display, on a batch search results interface, ofthe first plurality of results and the second plurality of results onfeature-tag-specific results portions of the batch search resultsinterface.
 16. The system of claim 15, wherein the client batch searchinterface component is further configured to: initiate local operations,remote operations, or a combination thereof to cause detection offeatures of the media resource, wherein features of the media resourceare associated with specific characteristics of the media resource,wherein image-type features are identified for images and video-typefeatures are identified for video.
 17. The system of claim 15, furthercomprising a batch search interface engine configured to: detect aplurality of features and a plurality of tags of the media resourcebased on an item database taxonomy that identifies a plurality ofcategories; and communicate the plurality of features and the pluralityof tags to cause dynamic display of at least a subset of the pluralityof features and a subset of the plurality of tags.
 18. The system ofclaim 15, further comprising a batch search interface engine configuredto: dynamically define the batch search query via the batch search queryinterface based inputs for a plurality of graphical control elementstrigger dynamic alteration of graphical elements associated withfeatures of the media resource or the batch search query that aredisplayed in the batch search query interface.
 19. The system of claim15, further comprising a batch search interface engine configured to:detect that the first feature as a damaged feature, wherein a tag forthe first feature includes a damaged-feature tag as an indication thatthe first feature is damaged.
 20. The system of claim 15, furthercomprising a batch search query interface engine configured to: identifycomplementary results corresponding to a feature-tag-specificcomplementary results portion for displaying complementary results basedon corresponding feature-tags; and identify replacement resultscorresponding to a feature-tag-specific replacements display portionsfor displaying replacement results based on corresponding damagedfeature-tags.